#include <stdlib.h>
#include <stdio.h>

typedef struct aluno { 
  char nome[30]; 
  int matricula; 
  int idade; 
  char curso[30]; 
} tp_aluno; 

void main() {
  tp_aluno turma_icc[5], turma_icc_arq[5];
  int num_alunos, i;
  FILE * arq;
  char nome_arq[30];

  printf("Entre com o nome do arquivo:\n");
  scanf("%s", nome_arq);
  if((arq = fopen(nome_arq,"r+")) != NULL) {	
	printf("Numero de alunos a serem cadastrados (max 5):\n");
	scanf("%d",&num_alunos);
	for(i = 0; i < num_alunos; i++) {
	  printf("\nNome: ");
	  scanf("%s", turma_icc[i].nome);
	  printf("\nMatricula: ");
	  scanf("%d", &turma_icc[i].matricula);	
	  printf("\nIdade: ");
	  scanf("%d", &turma_icc[i].idade);	
	  printf("\nCurso: ");
	  scanf("%s", turma_icc[i].curso);	
	  fprintf(arq, "%s ", turma_icc[i].nome);
	  fprintf(arq, "%d ", turma_icc[i].matricula);
	  fprintf(arq, "%d ", turma_icc[i].idade);
	  fprintf(arq, "%s\n", turma_icc[i].curso);			
	}
	rewind(arq);
	for(i = 0; i < num_alunos; i++) {
	  fscanf(arq, "%s ", turma_icc_arq[i].nome);
	  fscanf(arq, "%d ", &turma_icc_arq[i].matricula);
	  fscanf(arq, "%d ", &turma_icc_arq[i].idade);
	  fscanf(arq, "%s\n", turma_icc_arq[i].curso);	
	}			
	for(i = 0; i < num_alunos; i++) {
	  printf("\nNome: %s", turma_icc_arq[i].nome);
	  printf("\nMatricula: %d", turma_icc_arq[i].matricula);
      printf("\nIdade: %d", turma_icc_arq[i].idade);
	  printf("\nCurso: %s\n", turma_icc_arq[i].curso);
	}
  }
}

